package com.ruoyi.system.outto.goods.impl;

import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.system.V2.gameAttr.mapper.GameAttrTemplateMapper;
import com.ruoyi.system.V2.gameAttr.mapper.GameAttributeMapper;
import com.ruoyi.system.V2.gameAttr.service.IGameAttributeService;
import com.ruoyi.system.V2.goodInfo.mapper.GoodsInfoImgMapper;
import com.ruoyi.system.V2.inter.mapper.ArtRecMapper;
import com.ruoyi.system.interAttr.mapper.InterAttrMapper;
import com.ruoyi.system.model.domain.ArtRec;
import com.ruoyi.system.model.domain.GameAttribute;
import com.ruoyi.system.model.domain.GoodsInfoImg;
import com.ruoyi.system.model.domain.SalePartner;
import com.ruoyi.system.model.dto.GoodsInfoAndAttrValueDto;
import com.ruoyi.system.outto.dto.yx7881.utils.HttpUtil;
import com.ruoyi.system.outto.goods.NEWJUHAOYOUAPI;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;

/**
 * @author lz
 * @version 1.0
 * @date 2022/8/16 22:58
 */
@Slf4j
@Service
public class NEWJUHAOYOUApiImpl implements NEWJUHAOYOUAPI {

    @Resource
    private IGameAttributeService gameAttributeService;
    @Resource
    InterAttrMapper interAttrMapper;
    @Resource
    private GameAttributeMapper gameAttributeMapper;
    @Resource
    private GoodsInfoImgMapper goodsInfoImgMapper;
    @Resource
    private ArtRecMapper artRecMapper;
    @Resource
    private GameAttrTemplateMapper gameAttrTemplateMapper;

    @Override
    public AjaxResult addGame(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner salePartner) {
        Map<String, Object> resultMap = new HashMap<>();
        Map<String, Object> params = params(goodsInfoAndAttrValueDto, salePartner);
        log.info("炬号游添加接口请求参数={}", JSONObject.toJSONString(params));
        String result = HttpRequest.post("https://api.juhaojiaoyi.com/api/goods/UserGoods/addPost")
                .header("XX-Token", getToken(salePartner))
                .header("XX-Device-Type", "pc")
                .header("XX-App", "trading")
                .header("XX-Subsite", "0").body(JSONObject.toJSONString(params)).execute().body();

        log.info("炬号游添加接口返回参数={}", result);
        JSONObject resultJson = JSONObject.parseObject(result);
        if (!"1".equals(resultJson.getString("code"))) {
            resultMap.put("code", 500);
        } else {
            resultMap.put("code", 200);
            String data = resultJson.getString("data");
            String item = JSONObject.parseObject(data).getString("item");
            String id = JSONObject.parseObject(item).getString("id");
            resultMap.put("outId", id);
        }
        resultMap.put("req", JSONObject.toJSONString(params));
        resultMap.put("res", result);
        resultMap.put("msg", resultJson.getString("data"));

        return AjaxResult.success(resultMap);
    }

    @Override
    public AjaxResult editGame(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner salePartner) {
        Map<String, Object> resultMap = new HashMap<>();
        Map<String, Object> params = new TreeMap<>();
        ArtRec artRecreq = new ArtRec();
        artRecreq.setConfig(salePartner.getId());
        artRecreq.setAccountId(goodsInfoAndAttrValueDto.getId());
        List<ArtRec> artRecs = artRecMapper.selectArtRecList(artRecreq);
        ArtRec artRec = artRecs.get(0);
        params.put("id",artRec.getOutid());
        params.put("price",goodsInfoAndAttrValueDto.getPrice());
        params.put("quantity",1);
        log.info("炬号游编辑接口请求参数={}", JSONObject.toJSONString(params));
        String result = HttpRequest.post("https://api.juhaojiaoyi.com/api/goods/UserGoods/editPost")
                .header("XX-Token", getToken(salePartner))
                .header("XX-Device-Type", "pc")
                .header("XX-App", "trading")
                .header("XX-Subsite", "0").body(JSONObject.toJSONString(params)).execute().body();

        log.info("炬号游编辑接口返回参数={}", result);
        JSONObject resultJson = JSONObject.parseObject(result);
        if (!"1".equals(resultJson.getString("code"))) {
            resultMap.put("code", 500);
        } else {
            resultMap.put("code", 200);
        }
        resultMap.put("req", JSONObject.toJSONString(params));
        resultMap.put("res", result);
        resultMap.put("msg", resultJson.getString("data"));

        return AjaxResult.success(resultMap);
    }

    @Override
    public AjaxResult delGame(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner salePartner) {
        Map<String, Object> resultMap = new HashMap<>();
        Map<String, Object> params = new TreeMap<>();
        ArtRec artRecreq = new ArtRec();
        artRecreq.setConfig(salePartner.getId());
        artRecreq.setAccountId(goodsInfoAndAttrValueDto.getId());
        List<ArtRec> artRecs = artRecMapper.selectArtRecList(artRecreq);
        ArtRec artRec = artRecs.get(0);
        params.put("id",artRec.getOutid());
        log.info("炬号游删除接口请求参数={}", JSONObject.toJSONString(params));
        String result = HttpRequest.post("https://api.juhaojiaoyi.com/api/goods/UserGoods/setStatus0")
                .header("XX-Token", getToken(salePartner))
                .header("XX-Device-Type", "pc")
                .header("XX-App", "trading")
                .header("XX-Subsite", "0").body(JSONObject.toJSONString(params)).execute().body();

        log.info("炬号游删除接口返回参数={}", result);
        JSONObject resultJson = JSONObject.parseObject(result);
        if (!"1".equals(resultJson.getString("code"))) {
            resultMap.put("code", 500);
        } else {
            resultMap.put("code", 200);
            result = HttpRequest.post("https://api.juhaojiaoyi.com/api/goods/UserGoods/delete")
                    .header("XX-Token", salePartner.getTwoOther())
                    .header("XX-Device-Type", "pc")
                    .header("XX-App", "trading")
                    .header("XX-Subsite", "0").body(JSONObject.toJSONString(params)).execute().body();
        }
        resultMap.put("req", JSONObject.toJSONString(params));
        resultMap.put("res", result);
        resultMap.put("msg", resultJson.getString("data"));

        return AjaxResult.success(resultMap);
    }

    private Map<String, Object> params(GoodsInfoAndAttrValueDto goodsInfoAndAttrValueDto, SalePartner sa) {

        Map<String, Object> params = new TreeMap<>();
        Map<String, Object> account_fields = new TreeMap<>();
        List<Integer> list = new ArrayList<>();
        if(goodsInfoAndAttrValueDto.getGameName().equals("王者荣耀")) {
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                list.add(95495);
            }else if(regional.equals("安卓微信")){
                list.add(95496);
            }else if(regional.equals("苹果QQ")){
                list.add(95497);
            }else {
                list.add(95498);
            }
            params.put("type",317);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF16())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF16()));
                params.put("f1", gameAttribute1.getFieldName().replace("已删实名","不可二次实名").replace("包人脸","支持人脸包赔"));
            }
            params.put("f2","是");
            params.put("f3","无防沉迷");
            params.put("f4","自己注册");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())){
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF2()));
                String guizu = "";
                if(!gameAttribute1.getFieldName().contains("贵族")){
                    guizu = "贵族"+gameAttribute1.getFieldName().replace("V","")+"级";
                }else {
                    guizu = gameAttribute1.getFieldName().replace("V10","");
                }
                params.put("f5", guizu);
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF13())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF13());
                String guobiao = "大国标少司缘、大国标元流之子(法师)、大国标元流之子(坦克)、大国标大司命、大国标敖隐、大国标海诺、大国标朵莉亚、大国标亚连、大国标姬小满、大国标莱西奥、大国标赵怀真、大国标海月、大国标戈娅、大国标桑启、大国标暃、大国标金蝉、大国标云缨、大国标艾琳、大国标司空震、大国标澜、大国标夏洛特、大国标阿古朵、大国标蒙恬、大国标镜、大国标蒙犽、大国标鲁班大师、大国标西施、大国标马超、大国标曜、大国标云中君、大国标瑶、大国标盘古、大国标猪八戒、大国标嫦娥、大国标上官婉儿、大国标李信、大国标沈梦溪、大国标伽罗、大国标盾山、大国标司马懿、大国标孙策、大国标元歌、大国标米莱狄、大国标狂铁、大国标弈星、大国标裴擒虎、大国标杨玉环、大国标公孙离、大国标明世隐、大国标女娲、大国标梦奇、大国标苏烈、大国标百里玄策、大国标百里守约、大国标铠、大国标鬼谷子、大国标干将莫邪、大国标东皇太一、大国标大乔、大国标黄忠、大国标诸葛亮、大国标哪吒、大国标太乙真人、大国标蔡文姬、大国标雅典娜、大国标杨戬、大国标成吉思汗、大国标钟馗、大国标虞姬、大国标李元芳、大国标张飞、大国标刘备、大国标后羿、大国标牛魔、大国标孙悟空、大国标亚瑟、大国标橘右京、大国标娜可露露、大国标不知火舞、大国标张良、大国标花木兰、大国标兰陵王、大国标王昭君、大国标韩信、大国标刘邦、大国标姜子牙、大国标露娜、大国标程咬金、大国标安琪拉、大国标貂蝉、大国标关羽、大国标老夫子、大国标武则天、大国标项羽、大国标达摩、大国标狄仁杰、大国标马可波罗、大国标李白、大国标宫本武藏、大国标典韦、大国标曹操、大国标甄姬、大国标夏侯惇、大国标周瑜、大国标吕布、大国标芈月、大国标白起、大国标扁鹊、大国标孙膑、大国标钟无艳、大国标阿轲、大国标高渐离、大国标刘禅、大国标庄周、大国标鲁班七号、大国标孙尚香、大国标嬴政、大国标妲己、大国标墨子、大国标赵云、大国标小乔、大国标廉颇、大国标影";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName())){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f7", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF14())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF14());
                String guobiao = "国服少司缘、国服元流之子(法师)、国服元流之子(坦克)、国服大司命、国服敖隐、国服海诺、国服朵莉亚、国服亚连、国服姬小满、国服莱西奥、国服赵怀真、国服海月、国服戈娅、国服桑启、国服暃、国服金蝉、国服云缨、国服艾琳、国服司空震、国服澜、国服夏洛特、国服阿古朵、国服蒙恬、国服镜、国服蒙犽、国服鲁班大师、国服西施、国服马超、国服曜、国服云中君、国服瑶、国服盘古、国服猪八戒、国服嫦娥、国服上官婉儿、国服李信、国服沈梦溪、国服伽罗、国服盾山、国服司马懿、国服孙策、国服元歌、国服米莱狄、国服狂铁、国服弈星、国服裴擒虎、国服杨玉环、国服公孙离、国服明世隐、国服女娲、国服梦奇、国服苏烈、国服百里玄策、国服百里守约、国服铠、国服鬼谷子、国服干将莫邪、国服东皇太一、国服大乔、国服黄忠、国服诸葛亮、国服哪吒、国服太乙真人、国服蔡文姬、国服雅典娜、国服杨戬、国服成吉思汗、国服钟馗、国服虞姬、国服李元芳、国服张飞、国服刘备、国服后羿、国服牛魔、国服孙悟空、国服亚瑟、国服橘右京、国服娜可露露、国服不知火舞、国服张良、国服花木兰、国服兰陵王、国服王昭君、国服韩信、国服刘邦、国服姜子牙、国服露娜、国服程咬金、国服安琪拉、国服貂蝉、国服关羽、国服老夫子、国服武则天、国服项羽、国服达摩、国服狄仁杰、国服马可波罗、国服李白、国服宫本武藏、国服典韦、国服曹操、国服甄姬、国服夏侯惇、国服周瑜、国服吕布、国服芈月、国服白起、国服扁鹊、国服孙膑、国服钟无艳、国服阿轲、国服高渐离、国服刘禅、国服庄周、国服鲁班七号、国服孙尚香、国服嬴政、国服妲己、国服墨子、国服赵云、国服小乔、国服影、国服廉颇";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName().replace("小国标","国服"))){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f8", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF9())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF9());
                String guobiao = "武则天英雄、瑶拾光映像、孙悟空全息碎影、武则天倪克斯神谕、夏侯惇无限飓风号、小乔天鹅之梦、孙尚香杀手不太冷、鲁班七号星空梦想、芈月大秦宣太后、程咬金活力突击、李白鸣剑曳影、诸葛亮星域神启、花木兰九霄神辉、关羽赤影疾锋、铠银白咏叹调、貂蝉幻阙歌、韩信弑枪猎影、虞姬神鉴启示录";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName().replace("-",""))){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f9", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF10())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF10());
                String guobiao = "孙悟空零号雷霆、鲁班七号瑰色时光、刘备时之思念、高渐离炽焰魔法、铠暗影涅星、刘备时之羁绊、瑶时之愿境、貂蝉荧星流火、孙尚香未来机甲、伽罗太华红枫、武则天幻海之心、韩信飞衡青云、孙悟空幽冥火、宫本武藏幽冥之眼、貂蝉金色仲夏夜、狄仁杰星际治安官、诸葛亮苍灵仙君、虞姬黛羽霜翎、王昭君乞巧织春、曜云鹰彻晓、虞姬无限倾慕、李白玉鸾吟、大乔温梦星夜、大乔绛紫甜心、大乔瑰色晨光、孙尚香时之羁绊、大乔云朵天使、大乔童话女王、大乔邻家女孩、吕布湛蓝机甲、吕布雷霆赤甲、吕布幽星战甲、吕布白金战甲、公孙离逐星追乐、公孙离觅星灵兔、赵云幽远纪元、赵云辉耀纪元、赵云炽烈纪元、阿轲夜隐暮色、阿轲洇夜之薰、阿轲凝夜之紫、兰陵王幽夜猎兽者、铠曙光捍御者、王昭君青鸾有意、澜紫金契约、孙尚香时之熊猫、孙尚香循星之旅、孙尚香时之海风、孙尚香魔法恋语、百里守约逆光新生、亚瑟心灵脉冲、亚瑟量子冲击、亚瑟骇客免攻、亚瑟程序错误、亚瑟橙色警戒、安琪拉心灵冲击、安琪拉量子冲击、安琪拉骇客兔攻、安琪拉程序错误、孙尚香炮火逐光、妲己抹茶甜心、妲己甜甜糕、妲己樱桃雪顶、妲己蓝莓慕斯、李元芳九夏金橙、李元芳深海探险员、李元芳小丑鱼、孙策星辰天使、孙策灰狼先生、孙策居家小哥、阿轲舞动赛场、阿轲金玉锦绣、阿轲魅惑之魔、妲己哥特少女、韩信燎原一梦、韩信再战一场、韩信急速电音、韩信碧绿电音、鲁班七号格斗小子、鲁班七号萌喵队长、鲁班七号头号选手、鲁班七号热血像素、典韦集合赛场、典韦时空骇客、典韦烈焰游侠、王昭君夜静幽香、王昭君墨莲月吟、李白该我上场、李白机能侠客、李白Neo套装、伽罗时空护卫、伽罗潮流少女、小乔HelloKitty、小乔嗷呜小狼、小乔爱的火烈鸟、小乔夏日快乐鸭、夏侯惇速度与鲨鱼、夏侯惇骇浪狂鲨、夏侯惇橘花夏威夷、李白暮雪归、李白梧桐落、诸葛亮潮流达人、诸葛亮阳光绅士、扁鹊安全第一、扁鹊科学绅士、百里玄策元气满满鸭、貂蝉流云霜糖、公孙离HelloKitty、花木兰白紫小恶魔、花木兰喵星人控、兰陵王荆棘舞步、花木兰荆棘舞步";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName().replace("-",""))){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f10", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF20())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF20());
                String guobiao = "妲己青丘九尾、武则天神器明辉仪、瑶真我赫兹、李白碎月剑心、小乔时之魔女、韩信群星魔术团、不知火舞花合斗、公孙离离恨烟";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName().replace("-",""))){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f12", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF12())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF12());
                String guobiao = "小乔音你心动、小乔山海琳琅生、赵云淬星耀世、孙尚香末日机甲、孙尚香异界灵契、孙尚香音你闪耀、鲁班七号寅虎瑞焰、鲁班七号时之奇旅、吕布天魔缭乱、吕布怒海麟威、吕布遇见神鼓、周瑜音你心动、甄姬至美化雀舞、宫本武藏地狱之眼、宫本武藏惊梅引、李白凤求凰、李白诗剑行、马可波罗深海之息、马可波罗妄想实况、狄仁杰超时空战士、狄仁杰神器狴犴令、达摩黄金狮子座、项羽无限倾心、武则天海洋之心、关羽武圣、貂蝉仲夏夜之梦、貂蝉猫影幻舞、貂蝉遇见胡旋、安琪拉追逃游戏、露娜启示之音、王昭君星穹之声、兰陵王默契交锋、兰陵王影龙天霄、花木兰冠军飞将、花木兰燃星之曲、张良黄金白羊座、不知火舞绯月行、娜可露露前尘镜、橘右京枫霜尽、亚瑟追逃游戏、孙悟空地狱火、孙悟空零号赤焰、孙悟空齐天大圣、后羿黄金射手座、后羿无尽星芒、刘备时之恋人、张飞百相守梦、李元芳飞鸢探春、虞姬云霓雀翎、虞姬启明星使、虞姬无限倾心、杨戬永曜之星、女娲补天、干将莫邪久胜战神、干将莫邪画中仙、蔡文姬花朝如约、东皇太一灼幽烈阳、诸葛亮武陵仙君、诸葛亮时雨天司、诸葛亮鹤羽星尊、大乔挚爱花嫁、大乔时之奇旅、铠绛天战甲、百里玄策白虎志、百里守约碎云、梦奇胖达荣荣、公孙离祈雪灵祝、公孙离记忆之芯、裴擒虎寅虎赤拳、瑶时之祈愿、李信一念神魔、李信山海炽霜斩、伽罗太华、伽罗炽翼辉光、孙策末日机甲、孙策挚爱之约、上官婉儿妄想奇谈、马超无双飞将、曜云鹰飞将、曜李逍遥、曜山海苍雷引、西施游龙清影、澜电玩雷克斯、镜炽阳神光、夏洛特浮生妄、云缨鹤归松栖、王昭君乞巧织情、王昭君永恒水手月亮、狄仁杰夜礼服假面、孙膑小动物乐团、露娜霜月吟、澜逐花归海、铠琥珀纪元、马超琥珀纪元、孙尚香乘龙问璇玑、孙策乘龙淬吴钩、赵云乘龙铭钟鼎、典韦战鼓燎原、吕布曦玄引、貂蝉曦玄引、亚连落雪白狼、海月金乌负日、墨子黄金天蝎座、云中君群星魔术团、朵莉亚心动手记";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName().replace("-",""))){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f16", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF11())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF11());
                String guobiao = "妲己魅力维加斯、妲己女仆咖啡、妲己热情桑巴、妲己时之彼端、妲己时之奇旅、廉颇地狱岩魂、廉颇寅虎御盾、小乔纯白花嫁、小乔缤纷独角兽、小乔青蛇、赵云未来纪元、赵云皇家上将、赵云嘻哈天王、赵云引擎之心、赵云龙胆、赵云百木心枪、墨子金属风暴、墨子龙骑士、墨子降魔、嬴政摇滚巨星、嬴政暗夜贵公子、嬴政优雅恋人、嬴政白昼王子、孙尚香水果甜心、孙尚香蔷薇恋人、孙尚香时之恋人、鲁班七号电玩小子、鲁班七号狮舞东方、鲁班七号乒乒小将、庄周云端筑梦师、庄周玄嵩、庄周高山流水、庄周天秀幻梦、刘禅绅士熊喵、刘禅天才门将、刘禅电玩爆裂旋风、高渐离天秀音浪、阿轲暗夜猫娘、阿轲节奏热浪、阿轲迷踪丽影、钟无艳王者之锤、钟无艳超时空战士、孙膑天狼运算者、孙膑寅虎展翼、扁鹊奇幻香踪、白起星夜王子、芈月白晶晶、吕布圣诞狂欢、吕布末日机甲、吕布御风骁将、周瑜真爱至上、元歌云间偶戏、元歌无心、夏侯惇乘风破浪、夏侯惇逆光决锋者、甄姬冰雪圆舞曲、甄姬游园惊梦、甄姬幽恒、甄姬女儿国国王、曹操幽灵船长、曹操天狼征服者、典韦蓝屏警告、典韦岱宗、宫本武藏鬼剑武藏、李白千年之狐、马可波罗逐梦之星、马可波罗暗影游猎、马可波罗山海玄木吟、狄仁杰魔术师、狄仁杰鹰眼统帅、项羽苍穹之光、项羽职棒王牌、项羽霸王别姬、司马懿暗渊魔法、老夫子圣诞老人、老夫子航海奇遇记、关羽冰锋战神、关羽百相守梦、貂蝉圣诞恋歌、貂蝉逐梦之音、貂蝉唤灵魅影、安琪拉魔法小厨娘、安琪拉心灵骇客、安琪拉时之奇旅、程咬金功夫厨神、露娜紫霞仙子、露娜一生所爱、刘邦德古拉伯爵、韩信白龙吟、韩信逐梦之影、韩信飞衡、韩信傲雪梅枪、王昭君偶像歌手、王昭君凤凰于飞、兰陵王暗隐猎兽者、兰陵王驯魔猎人、花木兰水晶猎龙者、花木兰青春决赛季、花木兰瑞麟志、花木兰默契交锋、艾琳奇遇舞章、张良千筹问战、不知火舞魅语、娜可露露晚萤、橘右京修罗、亚瑟心灵战警、孙悟空至尊宝、孙悟空大圣娶亲、孙悟空孙行者、牛魔奔雷神使、后羿辉光之辰、后羿如梦令、刘备百相守梦、张飞乱世虎臣、张飞虎魄、李元芳逐浪之夏、李元芳银河之约、虞姬霸王别姬、钟馗乐园奇幻夜、杨玉环遇见飞天、杨玉环寅虎心曲、杨玉环银翎春语、杨戬天秀启明、哪吒逐梦之翼、哪吒雪上飞焰、干将莫邪冰霜恋舞曲、干将莫邪真爱魔法、雅典娜冰冠公主、雅典娜黎明之约、蔡文姬奇迹圣诞、蔡文姬舞动绿茵、蔡文姬繁星吟游、蔡文姬电玩兔顽号、东皇太一逐梦之光、鬼谷子五谷丰年、诸葛亮黄金分割率、大乔猫狗日记、大乔白蛇、大乔白鹤梁神女、黄忠烈魂、黄忠火炮绅士、铠曙光守护者、铠青龙志、苏烈玄武志、百里玄策原初追逐者、百里玄策热力回旋、百里守约特工魅影、百里守约朱雀志、百里守约真我赫兹、弈星滕王阁序、梦奇顽趣、梦奇天降福星、公孙离蜜橘之夏、公孙离无限星赏官、公孙离玉兔公主、沈梦溪月团寄思、沈梦溪匿光破解者、明世隐吟游魔法、裴擒虎梅西、裴擒虎天狼狩猎者、裴擒虎李小龙、狂铁电玩高手、米莱狄胡桃异想国、米莱狄完美假期、瑶遇见神鹿、瑶山海碧波行、云中君纤云弄巧、云中君时之祈愿、伽罗箭羽风息、伽罗天狼溯光者、盾山梦圆繁星、孙策猫狗日记、猪八戒猪悟能、上官婉儿梁祝、上官婉儿天狼绘梦者、上官婉儿神器万象笔、嫦娥如梦令、嫦娥拒霜思、马超神威、海月浮梦罗烟、西施诗语江南、蒙犽狂想玩偶喵、蒙犽龙鼓争鸣、鲁班大师匿光启智者、澜赏金猎手、盘古冰霜神祇、镜匿光追影者、镜玫瑰异探、镜真我赫兹、阿古朵顽趣、夏洛特永昼、金蝉唐三藏、暃星界游侠、戈娅驭风魔法、李元芳匿光侦查者、西施至美乘鲤谣、阿古朵江河有灵、姜子牙闲日渔趣、司空震地狱燃心、赵怀真鹤归松栖、莱西奥末日机甲、蒙犽百解令、高渐离燃音魔法、妲己灵卜魔法、蒙恬荣光圣徽、伽罗琥珀纪元、姬小满妄想食味、大乔乘龙忆丹青、安琪拉乘龙聚宝船、百里玄策超元猎域、曹操夜都魔契、鲁班七号蔬乡物语、桑启奇遇星旅、上官婉儿群星魔术团、明世隐夜落电台、海诺心动手记、芈月浮光幕影、暃埋骨钱";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName().replace("-",""))){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f17", list1);
                }
            }
            params.put("f19", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF17())?goodsInfoAndAttrValueDto.getF17():System.currentTimeMillis()/1000);
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("和平精英")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                list.add(95482);
            }else if(regional.equals("安卓微信")){
                list.add(95483);
            }else if(regional.equals("苹果微信")){
                list.add(95481);
            }else {
                list.add(95480);
            }
            params.put("type",98);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF10())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF10()));
                params.put("f1", gameAttribute1.getFieldName().replace("已删实名","不可二次实名").replace("包人脸","可包人脸"));
            }
            params.put("f2","无防沉迷");
            params.put("f3", "自己注册");
            params.put("f4", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF11())?goodsInfoAndAttrValueDto.getF11():"0");
            params.put("f5", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF8())?goodsInfoAndAttrValueDto.getF8():"0");
            params.put("f6", StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF12())?goodsInfoAndAttrValueDto.getF12():"0");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF5())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF5());
                String guobiao = "英伦信使、时空协奏回响、时空协奏心弦、时空协奏火花、时空协奏和音、不知火舞、严莉莉、金丰海韵、金域紫灵、冰域雷影、风幻水境、觉醒初号机、守护天翼、星梦奇缘、创世救赎、星空武士、鸢尾晶梦、霓虹漫游、光极星、脉冲星、电波星、超弦星、引力星、电磁星、烟云彩露、绝色倾城、辉耀战甲、繁龙极客、甜心首席、机械师花傲天、猪猪侠、祥瑞锦鲤、小叽联名款、套装-夜幕颂歌、圣堂之誓、熔岩统帅、镜光幻境、傲傲奶龙、憨憨奶龙、暖暖奶龙、彩装战姬、莲影清波、万古烈焰、宙之时溯、星云暗核、银瓶流水、双星鱼跃、无畏白羊、神隐金牛、双面双生、巨渊蟹踪、勇猛狮王、室女星神、天衡星秤、天幕蝎影、射星猎手、牧神之羯、第五大道、仲夏莫吉托、闲梦青缨、火箭少女101、霁雪冰心、傲雪凌霜、绒雪飘舞、紫电风暴、赤焰黑爵、冷魅冰骑、萌物绒绒、水仙星、蜜语绒猫、茉莉星、蔷薇星、白兰星、炫光之旅、拂晓神骑、粉樱探戈、擎天柱、大黄蜂、李逍遥、零号机款机体服、2号机款机体服、白勺歌姬、呆萌星弥、小可学妹、猩猩队长、阿尔茜、幻影、初号机款机体服、未来歌姬、炎氏战神、南国舞曲、飒粉甜心、孙悟空、贝吉塔、妙趣可丽、焦糖拿铁、甜梦小狐、赵灵儿、梦幻火箭、甜心巧克力、宝贝奶油派、天使彩虹糖、洛天依、林间仙鹿、山涧鹿灵、彩虹鹿灵、华贵君王、星之信仰、星之彼岸、精灵迷巫、蝶舞迷情、雪国幻梦、守护骑士、火曜朱雀、水曜玄武、土曜战麒、木曜青龙、金曜白虎、深渊皇后、银河战甲、荒野猎神、南瓜骑士、数码大师、怪诞乔克、粉色回忆、星际漫游者、幻影战神、快乐主宰、极限特训、天启纪元、麻辣鲜香锅、金风玉露、金属狂野、静灵氛围、智能音符、缤纷油彩、放客神游、深海曼妙、PEL轰鸣竞梦者、古堡领主、狩月元帅、琉璃脉冲、新星烈龙、彗云及圣、天禅智恒、向日葵、甜蜜誓约、心之恋语、极致幻想、星空之魅、扶摇飞仙、幻彩马卡龙、花间之火、潮汐统领、锦绣火鲤、铁甲悍将、黄蜂伯爵、鳞翅贤者、迷蝶贵族、星点战士、草莓生巧、诡面斩、俏皮狐尾、香水柠檬、苍蓝魅影、翡翠骑士、绚金战神、童趣迷兔、冰霜白皇、炙焰红王、银刃赛罗、未来战士、暗翼战神、王牌四分卫、绮梦青鸾、相思残雪、海渊国主、沙场疾风、花影阑珊、吟月归客、桀骜红莲、飓风飞鹰、暗夜玫瑰、蜜桃特工、馨动时刻、焰龙焚天、烈焰拳霸、虎啸骄阳、彩虹甜喵、甜心娃娃、暖熊萌萌、垂柳戏鸭、蓝莓炮弹、炙焰赤龙、枪炮玫瑰、银龙敖海、骨龙祭渊、蝶舞蔷薇、冰川粉黛、冰川幽秘、冰川红玫、圣光天使、霞光圣骑、寒光使者、恐龙拽拽、橘柚倾心、启明星、幻梦音符、绚丽摇曳、闪耀律动、桃夭倾城、灵感创作师、甜蜜草莓、红伞翩翩、黄伞悠悠、黑伞漫漫、苔丝玫瑰、百合蜜语";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName())){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f11", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF5())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF5());
                String guobiao = "师父专用外套、巡查员上衣、初号机款机体服、兔斯基、浪漫波比、奇异狩猎者、套装-六号树人、天网终结者、套装-胖达团团、都市猎人、套装-暗夜魅影、套装-粉红小猪、套装-萌熊伴侣、套装-浪漫天命、套装-潮萌小黄鸭、套装-暗影哥特、套装-迅捷狂鲨、套装-胖达圆圆、寒蝎幽灵、赤蝎幽灵、派对舞王、木乃伊、璀璨巨星、天星战神、黄族统领、复仇流浪者、呆萌铁蟹、套装-雪山精英、浪客战士、潮萌小黄鸭、黑色刀锋、深海小丑鱼、东方飞龙、神秘黑猫、大橘为重、萌神柯基、不夜海上花、沙漠守护者、PEC最牛战神、机械英豪、暗夜契约、纯白誓言、迅捷狂鲨、海洋之心、玄武圣者、爱神、深山诡影、怪兽之王、折纸暴龙、罗小黑、瑰丽时代、绿野邂逅、碧蓝澄空、小丑鱼、九霄";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName())){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f13", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF1())){
                List list1 = new ArrayList();
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF1());
                String guobiao = "M416-星际漫游、M416-火箭少女101、UMP45-火箭少女101、M416-黄金龙骨、M24-香水柠檬、M24-激战未来";
                String[] split = guobiao.split("、");
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(s.contains(gameAttribute1.getFieldName())){
                            list1.add(s);
                        }
                    }
                }
                if(StringUtils.isNotEmpty(list1)){
                    params.put("f14", list1);
                }
            }
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("枪战王者")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                list.add(95499);
            }else if(regional.equals("安卓微信")){
                list.add(95500);
            }else if(regional.equals("苹果微信")){
                list.add(95502);
            }else {
                list.add(95501);
            }
            params.put("type",26);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF10())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF10()));
                params.put("f1", gameAttribute1.getFieldName().replace("已删实名","不可二次实名").replace("包人脸","可包人脸"));
            }
            params.put("f2","无防沉迷");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF2()));
                params.put("f3", gameAttribute1.getFieldName());
            }
            params.put("f12","自己注册");
            params.put("f13","无封号");
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("英雄联盟")){
            if(goodsInfoAndAttrValueDto.getGroupName().equals("电信")){
                list.add(96801);
            }else if(goodsInfoAndAttrValueDto.getGroupName().equals("网通")){
                list.add(96801);
            }else if(goodsInfoAndAttrValueDto.getGroupName().equals("峡谷之巅")){
                list.add(96804);
            }
            params.put("type",401);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF1())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF1()));
                params.put("f1", gameAttribute1.getFieldName().replace("可修改实名","可二次实名").replace("包实名认证","支持人脸包赔"));
            }
            params.put("f2","自己注册");
            params.put("f3",goodsInfoAndAttrValueDto.getGroupName());
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF2())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF2()));
                String[] string1 = "最强王者、傲世宗师、超凡大师、璀璨钻石、流光翡翠、华贵铂金、荣耀黄金、不屈白银、英勇黄铜、坚韧黑铁".split("、");
                for(String s : string1) {
                    if(s.contains(gameAttribute1.getFieldName())) {
                        params.put("f6", s);
                        break;
                    }
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF8())){
                List list1 = new ArrayList();
                String string1 = "至臻2024T1杰斯、至臻暗星女王黛安娜、至臻双城之战2指挥官凯特琳、至臻幻灵战斗猫金克丝、至臻狼神英灵斯维因、至臻神龙尊者均衡之龙沃利贝尔、至臻神凰行者烈羽焰凰霞、至臻菲兹、至臻青花瓷拉克丝、至臻女帝黛安娜、至臻魔女乐芙兰、至臻魔女婕拉、至臻魅惑女巫莫甘娜、至臻魅惑女巫厄运小姐、至臻灵能特工伊泽瑞尔、至臻灵魂莲华提莫、至臻烈焰美人薇恩、至臻神龙尊者瑟提、至臻黑夜使者李青、至臻黑夜使者凯隐、至臻福牛守护者菲奥娜、至臻飞升战神潘森、至臻电玩女神凯特琳、至臻奥术师佐伊、至臻暗星墨菲特、至臻西部魔影猎天使恶魔泰隆、至臻海之歌萨勒芬妮、至臻星之守护者艾克、至臻星之守护者辛德拉、至臻源计划正义艾瑞莉娅、至臻KDA伊芙琳、至臻KDA卡莎、至臻KDA阿狸、至臻KDA阿卡丽、至臻征服者贾克斯、至臻真实伤害亚索、至臻真实伤害赛娜、至臻真实伤害奇亚娜、至臻战斗学院蕾欧娜、至臻战斗学院拉克丝、至臻月蚀骑士赛娜、至臻源计划阴劫、至臻源计划逆流塞拉斯、至臻玉剑传说锐雯、至臻焰执事布兰德、至臻腥红之月亚托克斯、至臻星之守护者索拉卡、至臻星之守护者妮蔻、至臻未来战士卢锡安、至臻未来战士锤石、至臻太空律动节奏幻师璐璐、至臻王国机神玄武盖伦、至臻灵魂莲华易、至臻至高天奎桑提、至臻太空律动魔音海妖娜美、海珀利安小队X09星环灵风迦娜、至臻北极星使者沃里克、至臻墨之影武者亚索、至臻花仙使者卡特琳娜、至臻绝息圣堂厄运小姐、至臻剪纸仙灵希维尔、至臻青花瓷丽桑卓、至臻玉剑传说娑娜、至臻心之钢永恩、至臻魔女阿卡丽、至臻DRX亚托克斯、至臻斗魂觉醒派克、至臻斗魂觉醒萨科、至臻魂蔷薇烈娜塔、至臻北极星钢影卡蜜尔、至臻KDAALLOUT卡莎、至臻神龙尊者比翼之龙洛、至臻青花瓷千珏、至臻西部魔影伊芙琳、至臻至高天凯尔、至臻幻灵狮心蕾欧娜";
                String[] split = string1.split("、");
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF8());
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(gameAttribute1.getFieldName().equals(s)){
                            list1.add(s);
                        }
                    }
                }
                if(CollectionUtils.isNotEmpty(list1)){
                    params.put("f8", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF24())){
                List list1 = new ArrayList();
                String string1 = "龙的传人李青乘龙御天、龙的传人李青龙德而隐、龙的传人李青飞龙在天、龙的传人李青跃龙在渊、龙的传人李青龙战于野、龙的传人李青见龙在田、龙的传人李青潜龙勿用、银龙裁决泰隆锦衣夜行、银龙裁决泰隆夜中血影、古琴余韵娑娜炫金天籁、偶像歌手阿狸极地雪莲、玉净夜叉凯特琳炫金神机、霸天异形卡兹克掠空魅影、玉剑传说无极麒麟、玉剑传说舞剑仙承影、玉剑传说无影竞星、张辽文远炫金将军、吕布奉先炫金战神、玉剑传说无极白虎、赵云子龙炫金将军、西部天使赛娜神选天使长、神龙尊者圣龙李青龙腾云起、冰雪节格雷福斯炫金、巅峰魅影乐芙兰神龙之影、社会名流乐芙兰紫罗兰魅影、持七彩冰棍的雪人易、征服者阿利斯塔炫金、冰雪风暴希维尔炫金、冠军之箭艾希凯旋圣装、源计划联合艾希红莲之弓、无畏意志墨菲特必不可挡、星之吞噬者莫甘娜热情之末、山海绘卷科加斯朱红、玉剑传说舞剑仙轩辕、冰霜之刃艾瑞莉娅炫金、玉剑传说风仙子毕方、无畏竞巅峰薇恩、无畏圣弩薇恩绝境狂杀、最终BOSS维迦里大魔王、泳池派对凯特琳粉红冰川、战斗学院凯特琳独角兽、怦然心动凯特琳未相见心已至、霸天巨兽雪崩墨菲特、女帝卡特琳娜纹章之刻印英勇、泳池派对奥莉安娜优雅珠光鲸、灵魂莲华薇恩春晓、幻灵战斗薇恩梦幻强袭、灵魂莲华卡西奥佩娅流火、心之钢伊泽瑞尔金声玉振、玉剑传说无影莫问、雾雨之刃锐雯、替父从军花木兰炫金龙刃、冠军之刃锐雯2016凯旋圣装、灵魂莲华锐雯流火、幻灵战斗兔锐雯梦幻强袭、黎明使者锐雯黑夜使者、灰烬守护者慎余烬觉醒、春晖神女拉克丝流风回雪、冠军之血希瓦娜凯旋圣装、偶像歌手阿狸皇室鸢尾、偶像歌手阿狸高山杜鹃、巅峰猫咪悠米凯旋铺卫、无畏游侠卢锡安不败圣枪、巅峰剑仙菲奥娜天神下凡、源计划火菲奥娜惩戒、霸天异形卡兹克刹那银光、冠军掠夺者卡兹克凯旋圣装、皓彩霓裳嫦娥、巅峰星灵佐伊飞星破梦、星之守护者卡莎热情之光、无畏猎手卡莎极境飞跃、玄晖霓裳嫦娥、泳池派对辛德拉荔枝枝连击、心之钢凯隐金声玉振、弹幕天使卡莎炽天使勇敢、弹幕天使卡莎炽天使公正、神龙烈焰金克丝珍珠龙息、觅心萝莉金克丝是心动啊、西部天使赛娜贝利尔之怠、西部魔影卢锡安贝利尔之怠、天煞劫恒星游历者、巅峰之拳瑟提明镜止水、星之守护者霞烈羽、霸天剑魔亚托克斯涤罪之翼、玉剑传说寒潭夭夭胭脂、冠军典狱长锤石凯旋圣装、冠军之矛卡莉丝塔凯旋圣装、冰雪游神巴德炫金、幻灵战斗狼塞拉斯梦幻强袭、源计划毁灭派克幻灭、灵魂莲华永恩春晓、灵魂莲华阿狸春晓、霸天战士雷恩加尔星啸天火、无畏骑士瑟庄妮赤子初心、泳池派对菲奥娜清凉苹果冰、玉剑传说翼剑仙珠光、玉剑传说琴仙子丁香、星之守护者金克丝黑洞、可爱可爱粉红红布里茨、星之守护者萨勒芬妮未来之光、闭月之颜貂蝉炫金莲华、玉剑传说苍鸾丁香、幻灵战斗队长厄运小姐勇气赞歌、南天之怒沃里克炫金天神、冠军之志瑞兹凯旋圣装、冠军之隐劫凯旋圣装、咖啡甜心兰博核桃巴菲、天龙之子易云起龙骧、天龙之子迦娜云起龙骧、天龙之子卡莎云起龙骧、神龙之翼库奇飞龙腾云、玉剑传说舞剑仙空翠烟霏、神龙尊者圣龙李青登龙、破败军团厄运小姐灵岛征伐使、净雪之月阿狸水竹、咖啡甜心璐璐焦糖布丁、星之守护者辛德拉未来之光、灵魂莲华亚索霜见之时、屠龙勇士布隆金瞳龙首之盾、玉剑传说神机花火青竹、征服者韦鲁斯炫金、墨之影武者卡莎金墨耀影、心之钢永恩金声玉振、幻灵战斗猫金克丝梦幻强袭、咖啡甜心金克丝核桃巴菲、玉剑传说无劫胭脂、天龙之子黛安娜云起龙骧、青花瓷厄运小姐金辉玉洁、斗魂觉醒伊芙琳毅之魂焰、净雪之月莫甘娜冬虹、斗魂觉醒瑟提无限斗志、神凰行者幽羽玄凰萨勒芬妮仙翰、玉剑传说星仙子丁香、墨之影武者永恩灵墨刻影、海魔至尊亚托克斯呼啸俯冲、幻灵孤狼亚索魅影闪击、海之歌萨勒芬妮冰爽浪花、战斗学院蕾欧娜独角兽、幻灵蝙蝠霞梦幻强袭、海之歌艾希冰爽浪花、海之歌永恩月夜潮汐、星之守护者阿卡丽未来之光、SKTT1辛德拉至强、殿堂传奇乐关兰至强、殿堂传奇乐关兰登神、斗魂觉醒拉克丝幻之魂焰、春晖神女艾希玉露金风、魅惑女巫迦娜炫金、青花瓷艾瑞莉娅金辉玉洁、咖啡甜心格温酒醉樱桃、青花瓷德莱厄斯金辉玉洁、星之守护者阿卡丽热情之光、斗魂觉醒拉克丝无限斗志、战斗学院盖伦不死鸟、咖啡甜心波比焦糖布丁、魔女娜美饕餮、魔女辛德拉饕餮、魔女伊莉丝饕餮、魔女阿卡丽饕餮、魔女阿狸饕餮、花仙子拉克丝蓝闪、黎明使者薇恩虹辉、战斗学院卡特琳娜盛典礼服、银龙裁决泰隆潜龙在渊、星之守护者裟娜未来之光、星之守护者奥莉安娜未来之光、星之守护者奥莉安娜未来之光、墨之影武者永恩云墨漾影、墨之影武者亚索金墨耀影、斗魂觉醒格温幻之魂焰、2023全球总决赛雷克顿潜力解封";
                String[] split = string1.split("、");
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF24());
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(gameAttribute1.getFieldName().equals(s)){
                            list1.add(s);
                        }
                    }
                }
                if(CollectionUtils.isNotEmpty(list1)){
                    params.put("f9", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF10())){
                List list1 = new ArrayList();
                String string1 = "纳财大帝塔姆、福牛守护者菲奥娜、福牛守护者嘉文四世、福牛守护者阿利斯塔、福牛守护者德莱厄斯、福牛守护者厄斐琉斯、福牛守护者安妮、王国机神玄武盖伦、王国机神白虎贾克斯、王国机神苍狼瑟提、王国机神朱雀蕾欧娜、王国机神青龙德莱文、北辰之威内瑟斯、金猪烈焰瑟庄妮、烈焰美人薇恩、美猴王孙悟空、南天之怒沃里克、张辽文远、司马懿仲达、虎痴之拳蔚、碧玉之牙卡西奥佩娅、玉净夜叉凯特琳、替父从军花木兰、紫金罗刹莫甘娜、广寒仙子嫦娥、春晖神女拉克丝、神龙之翼库奇、你见过我的熊猫吗安妮、醒狮克格莫、神龙烈焰金克丝、定海神针孙悟空、古琴余韵娑娜、银龙裁决泰隆、龙的传人李青、剪纸仙灵艾瑞莉娅";
                String[] split = string1.split("、");
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF10());
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(gameAttribute1.getFieldName().equals(s)){
                            list1.add(s);
                        }
                    }
                }
                if(CollectionUtils.isNotEmpty(list1)){
                    params.put("f10", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF9())){
                List list1 = new ArrayList();
                String string1 = "海克斯科技雷克顿、新创战纪希维尔、摄魂使者薇恩、零之枪骑赫卡里姆、恐惧新星德莱厄斯、灰烬骑士莫德凯撒、灰烬杀手塞拉斯、灰烬守护者慎、灰烬骑士潘森、灰烬骑士派克、海克斯科技斯维因、海克斯科技瑟庄妮、海克斯科技魔腾、海克斯科技玛尔扎哈、海克斯科技阿利斯塔、海克斯科技拉莫斯、海克斯科技克格莫、海克斯科技卡萨丁、海克斯科技嘉文四世、海克斯科技吉格斯、海克斯科技崔丝塔娜、海克斯科技波比、海克斯科技安妮、海克斯科技阿木木、水晶圣骑蕾欧娜、水晶圣骑塔莉垭";
                String[] split = string1.split("、");
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF9());
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(gameAttribute1.getFieldName().equals(s)){
                            list1.add(s);
                        }
                    }
                }
                if(CollectionUtils.isNotEmpty(list1)){
                    params.put("f11", list1);
                }
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF26())){
                List list1 = new ArrayList();
                String string1 = "创世黑夜使者亚索、十周年纪念安妮、水晶泰坦诺提勒斯、暗星绝杀烬、十五周年纪念希维尔、暗星科加斯、超级电竞粉丝特朗德尔、光明哨兵奥拉夫、超级音乐粉丝古拉加斯、海克斯科技阿利斯塔、超级COSPLAY粉丝妮蔻、海克斯科技阿木木、堕落神王盖伦、海克斯科技安妮、圣洁神王德莱厄斯、海克斯科技波比、海克斯科技崔丝塔娜、海克斯科技嘉文四世、海克斯科技吉格斯、海克斯科技卡萨丁、海克斯科技克格莫、海克斯科技拉莫斯、海克斯科技雷克顿、海克斯科技玛尔扎哈、海克斯科技魔腾、海克斯科技瑟庄妮、海克斯科技斯维因、灰烬骑士莫德凯撒、灰烬骑士派克、灰烬杀手塞拉斯、灰烬守护者慎、灰烬征服者潘森、恐惧新星德莱厄斯、黎明使者卡尔玛、零之枪骑赫卡里姆、摄魂使者薇恩、神凰行者瑞羽圣凰艾尼维亚、水晶圣骑艾希、水晶圣骑蕾欧娜、水晶圣骑塔莉垭、新创战纪希维尔、星之守护者塔莉垭、新卧虎藏龙贾克斯、永恒之森奥恩、源代码乐芙兰、真实伤害突破界限艾克、至臻暗星墨菲特、至臻奥术师佐伊、至臻北极星钢影卡蜜尔、至臻北极星使者沃里克、至臻电玩女神凯特琳、至臻电玩女神凯特琳2022、至臻斗魂觉醒派克、至臻斗魂觉醒萨科、至臻DRX亚托克斯、至臻飞升战神潘森、至臻福牛守护者菲奥娜、至臻海珀利安小队X09星环灵风迦娜、至臻海之歌萨勒芬妮、至臻黑夜使者凯隐、至臻黑夜使者李青、至臻黑夜使者李青2022、至臻幻灵战斗猫金克丝、至臻花仙使者卡特琳娜、至臻魂蔷薇烈娜塔、至臻剪纸仙灵希维尔、至臻绝息圣堂厄运小姐、至臻KDA阿卡丽、至臻KDA阿卡丽2022、至臻KDA阿狸、至臻KDA阿狸2022、至臻KDAALLOUT卡莎、至臻KDA卡莎、至臻KDA卡莎2022、至臻KDA伊芙琳、至臻KDA伊芙琳2022、至臻烈焰美人薇恩、至臻烈焰美人薇恩2022、至臻灵魂莲华提莫、至臻灵魂莲华易、至臻灵能特工伊泽瑞尔、至臻魅惑女巫厄运小姐、至臻魅惑女巫厄运小姐2022、至臻魅惑女巫莫甘娜、至臻魔女阿卡丽、至臻魔女婕拉、至臻魔女乐芙兰、至臻墨之影武者亚索、至臻女帝黛安娜、至臻青花瓷拉克丝、至臻青花瓷丽桑卓、至臻绒毛菲兹、至臻绒毛菲兹2022、至臻神凰行者烈羽焰凰霞、至臻神龙尊者均衡之龙沃利贝尔、至臻神龙尊者炎龙瑟提、至臻太空律动节奏幻师璐璐、至臻太空律动魔音海妖娜美、至臻王国机神玄武盖伦、至臻未来战士锤石、至臻未来战士锤石2022、至臻未来战士卢锡安、至臻西部魔影猎天使恶魔泰隆、至臻腥红之月亚托克斯、至臻腥红之月亚托克斯2022、至臻星之守护者艾克、至臻星之守护者妮蔻、至臻星之守护者妮蔻2022、至臻星之守护者索拉卡、至臻星之守护者辛德拉、至臻心之钢永恩、至臻焰执事布兰德、至臻源计划逆流塞拉斯、至臻源计划阴劫、至臻源计划正义艾瑞莉娅、至臻源计划正义艾瑞莉娅2022、至臻月蚀骑士赛娜、至臻玉剑传说琴仙子、至臻玉剑传说武剑仙、至臻玉剑传说武剑仙2022、至臻战斗学院拉克丝、至臻战斗学院拉克丝2022、至臻战斗学院蕾欧娜、至臻征服者贾克斯、至臻真实伤害奇亚娜、至臻真实伤害奇亚娜2022、至臻真实伤害赛娜、至臻真实伤害亚索、至臻至高天奎桑提、至臻神龙尊者比翼之龙洛、至臻天龙之子伊泽瑞尔、圣天龙李青、至臻青花瓷千珏、至臻西部魔影伊芙琳、西部魔影炽天使永恩、水晶掠夺者卡兹克、至臻至高天凯尔、殿堂传奇乐芙兰、水晶巫灵泽拉斯、幻灵战斗兔司令厄运小姐";
                String[] split = string1.split("、");
                List<GameAttribute> gameAttributs = getGameAttributs(goodsInfoAndAttrValueDto.getF26());
                for(GameAttribute gameAttribute1 : gameAttributs){
                    for(String s : split){
                        if(gameAttribute1.getFieldName().equals(s)){
                            list1.add(s);
                        }
                    }
                }
                if(CollectionUtils.isNotEmpty(list1)){
                    params.put("f15", list1);
                }
            }
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("英雄联盟(手游)")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                list.add(95507);
            }else if(regional.equals("安卓微信")){
                list.add(95508);
            }else if(regional.equals("苹果微信")){
                list.add(95510);
            }else {
                list.add(95509);
            }
            params.put("type",386);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF4())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF4()));
                params.put("f1", gameAttribute1.getFieldName().replace("已删实名","不可二次实名").replace("包人脸","可包人脸"));
            }
            params.put("f2","无防沉迷");
            params.put("f12","自己注册");
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("永劫无间")){
            if(goodsInfoAndAttrValueDto.getServerName().equals("网易手机帐号")){
                list.add(96571);
            }else if(goodsInfoAndAttrValueDto.getServerName().equals("网易邮箱帐号")){
                list.add(96572);
            }else if(goodsInfoAndAttrValueDto.getServerName().equals("Steam服务器")){
                list.add(96570);
            }else if(goodsInfoAndAttrValueDto.getServerName().equals("Epic服务器")){
                list.add(96567);
            }
            params.put("type",387);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF50())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF50()));
                params.put("f1", gameAttribute1.getFieldName());
            }
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF54())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF54()));
                params.put("f2", gameAttribute1.getFieldName().replace("换绑",""));
            }
            params.put("f18","自己注册");
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("暗区突围")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                list.add(95469);
            }else if(regional.equals("安卓微信")){
                list.add(95470);
            }else if(regional.equals("苹果微信")){
                list.add(95472);
            }else {
                list.add(95471);
            }
            params.put("type",889);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF3())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF3()));
                params.put("f1", gameAttribute1.getFieldName().replace("已删实名","不可二次实名").replace("包人脸","可包人脸"));
            }
            params.put("f2","无防沉迷");
            params.put("f10","自己注册");
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("金铲铲之战")){
            String regional = goodsInfoAndAttrValueDto.getSystemName()+goodsInfoAndAttrValueDto.getCarrierName();
            if(regional.equals("安卓QQ")){
                list.add(95479);
            }else if(regional.equals("安卓微信")){
                list.add(95478);
            }else if(regional.equals("苹果微信")){
                list.add(95476);
            }else {
                list.add(95477);
            }
            params.put("type",126);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF1())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF1()));
                params.put("f1", gameAttribute1.getFieldName().replace("可修改实名","可二次实名").replace("包实名认证","支持人脸包赔"));
            }
            params.put("f2",regional.toLowerCase());
            params.put("f13","自己注册");
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("无畏契约")){
            list.add(95474);
            params.put("type",890);
            params.put("f1","自己注册");
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF10())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF10()));
                params.put("f2", gameAttribute1.getFieldName().replace("已删实名","不可二次实名").replace("包人脸","可包人脸"));
            }
            params.put("f3","可排位");
        }
        else if(goodsInfoAndAttrValueDto.getGameName().equals("三角洲行动")){
            if(goodsInfoAndAttrValueDto.getCarrierName().equals("QQ")){
                list.add(96257);
            }else {
                list.add(96258);
            }
            params.put("type",912);
            if(StringUtils.isNotEmpty(goodsInfoAndAttrValueDto.getF7())) {
                GameAttribute gameAttribute1 = gameAttributeMapper.selectGameAttributeById(Long.valueOf(goodsInfoAndAttrValueDto.getF7()));
                if(gameAttribute1.getFieldName().equals("可二次实名")) {
                    params.put("f1", "可二次实名");
                }else {
                    params.put("f1", "不可二次实名");
                }
            }else {
                params.put("f1", "可二次实名");
            }
        }
        params.put("game_id",list.get(0));
        params.put("delivery_type",1);
        params.put("compensation_id",1);
        params.put("quantity",1);
        params.put("price",goodsInfoAndAttrValueDto.getPrice());
        params.put("title",goodsInfoAndAttrValueDto.getTitle());
        params.put("description",goodsInfoAndAttrValueDto.getDes().length()>500?goodsInfoAndAttrValueDto.getDes().substring(0,500):goodsInfoAndAttrValueDto.getDes());
        GoodsInfoImg goodsInfoImg = new GoodsInfoImg();
        goodsInfoImg.setGoodsId(goodsInfoAndAttrValueDto.getId());
        goodsInfoImg.setType(Constants.STR_1);
        List<GoodsInfoImg> infoImgs = goodsInfoImgMapper.selectGoodsInfoImgList(goodsInfoImg);
        List<String> image = new ArrayList<>();
        image.add(goodsInfoAndAttrValueDto.getTitleImg());
        for(GoodsInfoImg goodsInfoImg1 : infoImgs){
            image.add(goodsInfoImg1.getImgUrl());
        }
        params.put("image",image);
        account_fields.put("0",goodsInfoAndAttrValueDto.getAccountNumber());
        account_fields.put("1","123456");
        account_fields.put("2","看截图");
        params.put("account_fields",account_fields);
        params.put("mobile",sa.getSaleKey());
//        params.put("qq",sa.getSaleKey());
        params.put("wechat",sa.getSaleKey());
//        params.put("trading_time","0,24".split(","));
        return params;
    }


    public static void main(String[] args) {
        String game = getGame();
        System.out.println(game);
//        SalePartner salePartner = new SalePartner();
//        salePartner.setSaleKey("15778693755");
//        salePartner.setOther("tz123456");
//        String token = getToken(salePartner);
//        System.out.println(token);
    }

    static String getGame() {
        String body = HttpRequest.get("https://api.juhaojiaoyi.com/api/api/Index/gameList").execute().body();
        return body;
    }

    static String getAttr(String gameId) {
        String url = "https://api.juhaojiaoyi.com/api/api/Index/gameItem";
        Map<String,String> params = new HashMap<>();
        params.put("id",gameId);
        String result = HttpUtil.doPost(url, params);
        return result;
    }
    static String gameData(String gameId) {
        String url = "https://api.juhaojiaoyi.com/api/game/Index/gameData";
        Map<String,String> params = new HashMap<>();
        params.put("id",gameId);
        String result = HttpUtil.doPost(url, params);
        return result;
    }


    private List<GameAttribute> getGameAttributs(String ids) {
        List<GameAttribute> list = new ArrayList<>();
        if (StringUtils.isNotEmpty(ids)) {
            list = gameAttributeMapper.selectGameAttributeListByIds((Long[]) ConvertUtils.convert(ids.split(","),
                    Long.class));
        }
        return list;
    }

    private String reIds(String allIds, String ids) {
        if (StringUtils.isNotEmpty(ids)) {
            if (StringUtils.isNotEmpty(allIds)) {
                allIds = allIds + "," + ids;
            } else {
                allIds = ids;
            }
        }
        return allIds;
    }

    public static String getCover(Map<String,String> params){


        log.info("通过Map.keySet遍历key和value：");

        StringBuffer resut = new StringBuffer();

        for (String key : params.keySet()) {

            log.info("key= "+ key + " and value= " + params.get(key));

            if (Objects.nonNull(params.get(key)) && StringUtils.isNotEmpty(params.get(key))){
                resut.append(key+"="+params.get(key)+"&");
            }

        }
        return resut.toString();
    }

    public static String getToken(SalePartner salePartner){
        String url = "https://api.juhaojiaoyi.com/api/user/public/login";
        Map<String, String> params = new HashMap<>();
        params.put("username",salePartner.getSaleKey());
        params.put("password",salePartner.getOther());
        params.put("device_type","pc");
        String s = HttpUtils.doPostForm(url, params, null);
        String data = JSONObject.parseObject(s).getString("data");
        String token = JSONObject.parseObject(data).getString("token");
        return token;
    }

}
